this._extraWorkspaces = [];
this._updateExtraWorkspaces();
- // Position/scale the desktop windows and their children after the
- // workspaces have been created. This cannot be done first because
- // window movement depends on the Workspaces object being accessible
- // as an Overview member.
- this._overviewShowingId =
- Main.overview.connect('showing',
- Lang.bind(this, function() {
- for (let w = 0; w < this._workspaces.length; w++)
- this._workspaces[w].zoomToOverview();
- for (let w = 0; w < this._extraWorkspaces.length; w++)
- this._extraWorkspaces[w].zoomToOverview();
- }));
this._overviewShownId =
Main.overview.connect('shown',
Lang.bind(this, function() {
return this._workspaces[active];
},
- hide: function() {
- let activeWorkspaceIndex = global.screen.get_active_workspace_index();
- let activeWorkspace = this._workspaces[activeWorkspaceIndex];
-
- activeWorkspace.actor.raise_top();
+ zoomToOverview: function() {
+ for (let w = 0; w < this._workspaces.length; w++)
+ this._workspaces[w].zoomToOverview();
+ for (let w = 0; w < this._extraWorkspaces.length; w++)
+ this._extraWorkspaces[w].zoomToOverview();
+ },
+ zoomFromOverview: function() {
this.actor.remove_clip();
for (let w = 0; w < this._workspaces.length; w++)
_onDestroy: function() {
this._destroyExtraWorkspaces();
this.scrollAdjustment.run_dispose();
- Main.overview.disconnect(this._overviewShowingId);
Main.overview.disconnect(this._overviewShownId);
global.window_manager.disconnect(this._switchWorkspaceNotifyId);
this._settings.disconnect(this._updateExtraWorkspacesId);
show: function() {
this._updateWorkspacesViews();
+ for (let i = 0; i < this._workspacesViews.length; i++)
+ this._workspacesViews[i].zoomToOverview();
this._restackedNotifyId =
Main.overview.connect('windows-restacked',
},
zoomFromOverview: function() {
- for (let i = 0; i < this._workspacesViews.length; i++) {
- this._workspacesViews[i].hide();
- }
+ for (let i = 0; i < this._workspacesViews.length; i++)
+ this._workspacesViews[i].zoomFromOverview();
},
hide: function() {